The time taken for a batch of database queries to run on a computer system depends on several factors such as, the memory within the CPU of the computer system, and the number of concurrent streams that are used to run the queries. The number of concurrent streams is known as MPL (Multi Programming Level). If the MPL is too low then the computer system may be under-loaded, i.e., the workload finishes later than if the number of concurrent streams had been increased and the computer system is underutilized.
For cost and efficiency reasons, database users attempt to achieve a higher throughput, as measured in queries finished per unit time by, increasing the MPL. There is a drawback with increasing the MPL. If the MPL is too high then the computer system may be overloaded, i.e., it runs into severe memory contention causing CPU thrashing. Thrashing is the CPU spending time or memory paging and refreshing processes, rather than performing the actual processes. Thrashing results in severe performance deterioration.
The drawings referred to in this description are not be understood as being drawn to scale except if specifically noted.